Trycatch Task: Build ত্রুটি হ্যান্ডলিং

Java Technologies - অ্যাপাচি অ্যান্ট টাস্কস (Apache ANT Tasks) Build Failover এবং Recovery Tasks |
148
148

Apache Ant-এ <trycatch> টাস্কটি build স্ক্রিপ্টে ত্রুটি হ্যান্ডলিং (error handling) করার জন্য ব্যবহৃত হয়। এটি Java প্রোগ্রামিং ল্যাঙ্গুয়েজের try-catch ব্লকের মতো কাজ করে, যেখানে আপনি নির্দিষ্ট অংশে exceptions বা errors হ্যান্ডল করতে পারেন এবং সেগুলিকে কাস্টমাইজড ভাবে পরিচালনা করতে পারেন।

<trycatch> টাস্ক আপনাকে Ant স্ক্রিপ্টে error handling কার্যক্রম অন্তর্ভুক্ত করার সুবিধা দেয়, যেখানে আপনি টাস্কগুলির মধ্যে ত্রুটি ঘটলে প্রক্রিয়া বন্ধ না করে, বিকল্প কার্যক্রম চালানোর সুযোগ পাবেন।

Trycatch Task এর Syntax

<trycatch>
    <try>
        <!-- tasks to attempt -->
    </try>
    <catch>
        <!-- tasks to handle the exception -->
    </catch>
    <finally>
        <!-- tasks to always run after try or catch -->
    </finally>
</trycatch>
  • : এটি সেই টাস্কগুলির ব্লক যেখানে আপনি কোড চালাতে চান, যা ত্রুটি ঘটতে পারে।
  • : যদি <try> ব্লকে কোনো ত্রুটি ঘটে, তবে এখানে সেই ত্রুটির হ্যান্ডলিং হবে।
  • : এটি ঐ অংশ যা <try> বা <catch> ব্লকের পরে অবশ্যই রান হবে। এটি সাধারনত পরিষ্কারভাবে কাজ শেষ করতে ব্যবহৃত হয়, যেমন ফাইল বা রিসোর্স ক্লোজ করা।

১. Basic Example: Trycatch for Error Handling

এটি একটি সহজ উদাহরণ যেখানে <trycatch> টাস্ক ব্যবহার করে ত্রুটি হ্যান্ডলিং করা হচ্ছে।

<project name="TryCatchExample" default="handleError" basedir=".">
    
    <target name="handleError">
        <trycatch>
            <try>
                <echo message="Executing tasks..." />
                <fail message="Simulating a failure!" />
            </try>
            <catch>
                <echo message="An error occurred, but we caught it!" />
            </catch>
            <finally>
                <echo message="This always runs, regardless of success or failure." />
            </finally>
        </trycatch>
    </target>

</project>

এখানে:

  • <try> ব্লকে একটি টাস্ক আছে যেখানে <fail> টাস্ক ব্যবহার করা হয়েছে, যা intentional failure ঘটাবে।
  • <catch> ব্লকে ত্রুটি ঘটলে একটি বার্তা প্রিন্ট হবে।
  • <finally> ব্লকটি সবসময় রান হবে, চূড়ান্ত বার্তা প্রিন্ট করবে।

আউটপুট:

Executing tasks...
An error occurred, but we caught it!
This always runs, regardless of success or failure.

২. Handling Multiple Errors in Catch Block

আপনি <catch> টাস্কে বিভিন্ন ধরনের ত্রুটি হ্যান্ডল করতে পারেন, যেমন ফাইল অপারেশন ত্রুটি, সংযোগ ত্রুটি, ইত্যাদি।

<project name="MultipleCatchExample" default="handleMultipleErrors" basedir=".">
    
    <target name="handleMultipleErrors">
        <trycatch>
            <try>
                <echo message="Attempting to copy a non-existent file..." />
                <copy file="nonexistent.txt" todir="output/" />
            </try>
            <catch>
                <echo message="Caught an error during file copy operation!" />
            </catch>
            <finally>
                <echo message="This block always runs after the try or catch." />
            </finally>
        </trycatch>
    </target>

</project>

এখানে:

  • <copy> টাস্কটি একটি অস্থিত ফাইল কপি করার চেষ্টা করছে, যার ফলে একটি ত্রুটি ঘটবে।
  • <catch> ব্লকে সেই ত্রুটির হ্যান্ডলিং হবে।

আউটপুট:

Attempting to copy a non-existent file...
Caught an error during file copy operation!
This block always runs after the try or catch.

৩. Using Finally Block for Cleanup

<finally> ব্লকটি এমন কাজের জন্য উপকারী যা <try> বা <catch> ব্লকগুলির পরেও চলতে থাকে। এটি সাধারণত সম্পদের মুক্তি বা পরিষ্কার করার জন্য ব্যবহৃত হয়।

<project name="FinallyBlockExample" default="cleanupExample" basedir=".">
    
    <target name="cleanupExample">
        <trycatch>
            <try>
                <echo message="Running some tasks..." />
                <fail message="Simulating an error!" />
            </try>
            <catch>
                <echo message="An error was caught." />
            </catch>
            <finally>
                <echo message="Performing cleanup tasks..." />
            </finally>
        </trycatch>
    </target>

</project>

এখানে:

  • <finally> ব্লকটি <catch> ব্লকের পরে চালানো হবে, এবং এটি কোনো ত্রুটি থাকলেও কার্যকরী হবে।
  • আপনি <finally> ব্লকে ডাটাবেস সংযোগ বন্ধ করা, ফাইল ক্লোজ করা বা অন্যান্য রিসোর্স ক্লিনআপ করতে পারেন।

আউটপুট:

Running some tasks...
An error was caught.
Performing cleanup tasks...

৪. Handling Build Failures with Trycatch

আপনি <trycatch> টাস্ক ব্যবহার করে Ant বিল্ড স্ক্রিপ্টের মধ্যে build failures হ্যান্ডল করতে পারেন, যাতে build ফেইল হলে বিল্ড সম্পূর্ণ বন্ধ না হয়ে পরবর্তী কার্যক্রম চালানো যায়।

<project name="BuildFailureExample" default="build" basedir=".">
    
    <target name="build">
        <trycatch>
            <try>
                <echo message="Attempting to compile source code..." />
                <javac srcdir="src" destdir="build/classes" />
                <fail message="Build failed intentionally!" />
            </try>
            <catch>
                <echo message="Build failed, but we caught the failure." />
            </catch>
            <finally>
                <echo message="Executing final cleanup tasks..." />
            </finally>
        </trycatch>
    </target>

</project>

এখানে:

  • <fail> টাস্কটি intentional failure ঘটাবে।
  • <catch> ব্লকটি ত্রুটিকে হ্যান্ডল করবে এবং বিল্ডের প্রক্রিয়া ব্যাহত হবে না।
  • <finally> ব্লকটি শেষের দিকে রান হবে, যাতে পরিষ্কার কার্যক্রম পরিচালনা করা যায়।

আউটপুট:

Attempting to compile source code...
Build failed, but we caught the failure.
Executing final cleanup tasks...

সারাংশ

<trycatch> টাস্কটি Apache Ant-এ ত্রুটি হ্যান্ডলিংয়ের জন্য ব্যবহৃত হয়, যা Java প্রোগ্রামিং ল্যাঙ্গুয়েজের try-catch ব্লকের মতো কাজ করে। এটি আপনাকে Ant স্ক্রিপ্টে exceptions বা errors হ্যান্ডল করতে সহায়তা করে এবং প্রক্রিয়াকে থামানোর পরিবর্তে বিকল্প কার্যক্রম চালানোর সুযোগ দেয়। এই টাস্কটির মাধ্যমে:

  • Error handling করা সম্ভব।
  • Try ব্লকে থাকা কার্যক্রমের ত্রুটি হ্যান্ডল করা যায়।
  • Catch ব্লকে ত্রুটির প্রতিক্রিয়া জানানো যায়।
  • Finally ব্লক ব্যবহার করে সব সময় একেবারে শেষ কার্যক্রম চালানো যায়।
common.content_added_by
টপ রেটেড অ্যাপ

স্যাট অ্যাকাডেমী অ্যাপ

আমাদের অল-ইন-ওয়ান মোবাইল অ্যাপের মাধ্যমে সীমাহীন শেখার সুযোগ উপভোগ করুন।

ভিডিও
লাইভ ক্লাস
এক্সাম
ডাউনলোড করুন
Promotion